package openbang.common.vo;


import java.util.Date;

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.NotPersistent;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;


import com.google.gwt.user.client.rpc.IsSerializable;

/**
 * 业务模块中操作的详细定义。尤其是当某一个模块，需要多步操作。基本上根据按钮来划分。
 * 如：销售单录入模块的操作可以有：
 *  1.显示初始录入界面  指定显示哪些字段（或整个表的字段）、展现使用哪一个UI组件、后台保存使用哪一个Service
 *    额外增加的操作脚本（javascript , @see ScriptEngine jdk1.6提供 ）
 *  
 *     销售单查询 的 操作：
 *  1.显示页面，有查询条件,有查询结果
 *  2.自定义的按钮功能，如：
 *
 */
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class WorkModuleAction implements IsSerializable {

	@PrimaryKey
	@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
	private Long id;
	
	@Persistent
	private String code="";

	@Persistent
	private String name="";

	@Persistent
	private String type="";	
	
	/**
	 * 自定义脚本内容
	 */
	@Persistent
	private String scriptTxt = "";

	@Persistent
	private String remark="";

	@Persistent
	private Integer status=StatusEnum.PENDING_VERIFY.getCode();

	@Persistent
	private Date regTime=new Date();

	
	@Persistent
	private Date updTime=new Date();
		

	/**
	 * 归属哪一个模块下
	 */
	@Persistent
	private Long workModuleId = 0L;
	
	@NotPersistent
	private WorkModule workModule ;
	
    public WorkModuleAction() {
    }


	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}
	
}